package xian.woniuxy.be.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ChanceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ChanceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andChanceIdIsNull() {
            addCriterion("chance_id is null");
            return (Criteria) this;
        }

        public Criteria andChanceIdIsNotNull() {
            addCriterion("chance_id is not null");
            return (Criteria) this;
        }

        public Criteria andChanceIdEqualTo(Integer value) {
            addCriterion("chance_id =", value, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdNotEqualTo(Integer value) {
            addCriterion("chance_id <>", value, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdGreaterThan(Integer value) {
            addCriterion("chance_id >", value, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("chance_id >=", value, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdLessThan(Integer value) {
            addCriterion("chance_id <", value, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdLessThanOrEqualTo(Integer value) {
            addCriterion("chance_id <=", value, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdIn(List<Integer> values) {
            addCriterion("chance_id in", values, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdNotIn(List<Integer> values) {
            addCriterion("chance_id not in", values, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdBetween(Integer value1, Integer value2) {
            addCriterion("chance_id between", value1, value2, "chanceId");
            return (Criteria) this;
        }

        public Criteria andChanceIdNotBetween(Integer value1, Integer value2) {
            addCriterion("chance_id not between", value1, value2, "chanceId");
            return (Criteria) this;
        }

        public Criteria andCusNameIsNull() {
            addCriterion("cus_name is null");
            return (Criteria) this;
        }

        public Criteria andCusNameIsNotNull() {
            addCriterion("cus_name is not null");
            return (Criteria) this;
        }

        public Criteria andCusNameEqualTo(String value) {
            addCriterion("cus_name =", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameNotEqualTo(String value) {
            addCriterion("cus_name <>", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameGreaterThan(String value) {
            addCriterion("cus_name >", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameGreaterThanOrEqualTo(String value) {
            addCriterion("cus_name >=", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameLessThan(String value) {
            addCriterion("cus_name <", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameLessThanOrEqualTo(String value) {
            addCriterion("cus_name <=", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameLike(String value) {
            addCriterion("cus_name like", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameNotLike(String value) {
            addCriterion("cus_name not like", value, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameIn(List<String> values) {
            addCriterion("cus_name in", values, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameNotIn(List<String> values) {
            addCriterion("cus_name not in", values, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameBetween(String value1, String value2) {
            addCriterion("cus_name between", value1, value2, "cusName");
            return (Criteria) this;
        }

        public Criteria andCusNameNotBetween(String value1, String value2) {
            addCriterion("cus_name not between", value1, value2, "cusName");
            return (Criteria) this;
        }

        public Criteria andChanceSourceIsNull() {
            addCriterion("chance_source is null");
            return (Criteria) this;
        }

        public Criteria andChanceSourceIsNotNull() {
            addCriterion("chance_source is not null");
            return (Criteria) this;
        }

        public Criteria andChanceSourceEqualTo(String value) {
            addCriterion("chance_source =", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceNotEqualTo(String value) {
            addCriterion("chance_source <>", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceGreaterThan(String value) {
            addCriterion("chance_source >", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceGreaterThanOrEqualTo(String value) {
            addCriterion("chance_source >=", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceLessThan(String value) {
            addCriterion("chance_source <", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceLessThanOrEqualTo(String value) {
            addCriterion("chance_source <=", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceLike(String value) {
            addCriterion("chance_source like", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceNotLike(String value) {
            addCriterion("chance_source not like", value, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceIn(List<String> values) {
            addCriterion("chance_source in", values, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceNotIn(List<String> values) {
            addCriterion("chance_source not in", values, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceBetween(String value1, String value2) {
            addCriterion("chance_source between", value1, value2, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andChanceSourceNotBetween(String value1, String value2) {
            addCriterion("chance_source not between", value1, value2, "chanceSource");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioIsNull() {
            addCriterion("success_ratio is null");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioIsNotNull() {
            addCriterion("success_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioEqualTo(Integer value) {
            addCriterion("success_ratio =", value, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioNotEqualTo(Integer value) {
            addCriterion("success_ratio <>", value, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioGreaterThan(Integer value) {
            addCriterion("success_ratio >", value, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioGreaterThanOrEqualTo(Integer value) {
            addCriterion("success_ratio >=", value, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioLessThan(Integer value) {
            addCriterion("success_ratio <", value, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioLessThanOrEqualTo(Integer value) {
            addCriterion("success_ratio <=", value, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioIn(List<Integer> values) {
            addCriterion("success_ratio in", values, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioNotIn(List<Integer> values) {
            addCriterion("success_ratio not in", values, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioBetween(Integer value1, Integer value2) {
            addCriterion("success_ratio between", value1, value2, "successRatio");
            return (Criteria) this;
        }

        public Criteria andSuccessRatioNotBetween(Integer value1, Integer value2) {
            addCriterion("success_ratio not between", value1, value2, "successRatio");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryIsNull() {
            addCriterion("chance_summary is null");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryIsNotNull() {
            addCriterion("chance_summary is not null");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryEqualTo(String value) {
            addCriterion("chance_summary =", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryNotEqualTo(String value) {
            addCriterion("chance_summary <>", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryGreaterThan(String value) {
            addCriterion("chance_summary >", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryGreaterThanOrEqualTo(String value) {
            addCriterion("chance_summary >=", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryLessThan(String value) {
            addCriterion("chance_summary <", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryLessThanOrEqualTo(String value) {
            addCriterion("chance_summary <=", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryLike(String value) {
            addCriterion("chance_summary like", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryNotLike(String value) {
            addCriterion("chance_summary not like", value, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryIn(List<String> values) {
            addCriterion("chance_summary in", values, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryNotIn(List<String> values) {
            addCriterion("chance_summary not in", values, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryBetween(String value1, String value2) {
            addCriterion("chance_summary between", value1, value2, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andChanceSummaryNotBetween(String value1, String value2) {
            addCriterion("chance_summary not between", value1, value2, "chanceSummary");
            return (Criteria) this;
        }

        public Criteria andConNameIsNull() {
            addCriterion("con_name is null");
            return (Criteria) this;
        }

        public Criteria andConNameIsNotNull() {
            addCriterion("con_name is not null");
            return (Criteria) this;
        }

        public Criteria andConNameEqualTo(String value) {
            addCriterion("con_name =", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameNotEqualTo(String value) {
            addCriterion("con_name <>", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameGreaterThan(String value) {
            addCriterion("con_name >", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameGreaterThanOrEqualTo(String value) {
            addCriterion("con_name >=", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameLessThan(String value) {
            addCriterion("con_name <", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameLessThanOrEqualTo(String value) {
            addCriterion("con_name <=", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameLike(String value) {
            addCriterion("con_name like", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameNotLike(String value) {
            addCriterion("con_name not like", value, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameIn(List<String> values) {
            addCriterion("con_name in", values, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameNotIn(List<String> values) {
            addCriterion("con_name not in", values, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameBetween(String value1, String value2) {
            addCriterion("con_name between", value1, value2, "conName");
            return (Criteria) this;
        }

        public Criteria andConNameNotBetween(String value1, String value2) {
            addCriterion("con_name not between", value1, value2, "conName");
            return (Criteria) this;
        }

        public Criteria andConPhoneIsNull() {
            addCriterion("con_phone is null");
            return (Criteria) this;
        }

        public Criteria andConPhoneIsNotNull() {
            addCriterion("con_phone is not null");
            return (Criteria) this;
        }

        public Criteria andConPhoneEqualTo(String value) {
            addCriterion("con_phone =", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneNotEqualTo(String value) {
            addCriterion("con_phone <>", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneGreaterThan(String value) {
            addCriterion("con_phone >", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("con_phone >=", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneLessThan(String value) {
            addCriterion("con_phone <", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneLessThanOrEqualTo(String value) {
            addCriterion("con_phone <=", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneLike(String value) {
            addCriterion("con_phone like", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneNotLike(String value) {
            addCriterion("con_phone not like", value, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneIn(List<String> values) {
            addCriterion("con_phone in", values, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneNotIn(List<String> values) {
            addCriterion("con_phone not in", values, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneBetween(String value1, String value2) {
            addCriterion("con_phone between", value1, value2, "conPhone");
            return (Criteria) this;
        }

        public Criteria andConPhoneNotBetween(String value1, String value2) {
            addCriterion("con_phone not between", value1, value2, "conPhone");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionIsNull() {
            addCriterion("chance_description is null");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionIsNotNull() {
            addCriterion("chance_description is not null");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionEqualTo(String value) {
            addCriterion("chance_description =", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionNotEqualTo(String value) {
            addCriterion("chance_description <>", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionGreaterThan(String value) {
            addCriterion("chance_description >", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("chance_description >=", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionLessThan(String value) {
            addCriterion("chance_description <", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionLessThanOrEqualTo(String value) {
            addCriterion("chance_description <=", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionLike(String value) {
            addCriterion("chance_description like", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionNotLike(String value) {
            addCriterion("chance_description not like", value, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionIn(List<String> values) {
            addCriterion("chance_description in", values, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionNotIn(List<String> values) {
            addCriterion("chance_description not in", values, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionBetween(String value1, String value2) {
            addCriterion("chance_description between", value1, value2, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andChanceDescriptionNotBetween(String value1, String value2) {
            addCriterion("chance_description not between", value1, value2, "chanceDescription");
            return (Criteria) this;
        }

        public Criteria andUidIsNull() {
            addCriterion("uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(Integer value) {
            addCriterion("uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(Integer value) {
            addCriterion("uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(Integer value) {
            addCriterion("uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(Integer value) {
            addCriterion("uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(Integer value) {
            addCriterion("uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<Integer> values) {
            addCriterion("uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<Integer> values) {
            addCriterion("uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidBetween(Integer value1, Integer value2) {
            addCriterion("uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(Integer value1, Integer value2) {
            addCriterion("uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andChanceStatusIsNull() {
            addCriterion("chance_status is null");
            return (Criteria) this;
        }

        public Criteria andChanceStatusIsNotNull() {
            addCriterion("chance_status is not null");
            return (Criteria) this;
        }

        public Criteria andChanceStatusEqualTo(String value) {
            addCriterion("chance_status =", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusNotEqualTo(String value) {
            addCriterion("chance_status <>", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusGreaterThan(String value) {
            addCriterion("chance_status >", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusGreaterThanOrEqualTo(String value) {
            addCriterion("chance_status >=", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusLessThan(String value) {
            addCriterion("chance_status <", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusLessThanOrEqualTo(String value) {
            addCriterion("chance_status <=", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusLike(String value) {
            addCriterion("chance_status like", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusNotLike(String value) {
            addCriterion("chance_status not like", value, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusIn(List<String> values) {
            addCriterion("chance_status in", values, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusNotIn(List<String> values) {
            addCriterion("chance_status not in", values, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusBetween(String value1, String value2) {
            addCriterion("chance_status between", value1, value2, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andChanceStatusNotBetween(String value1, String value2) {
            addCriterion("chance_status not between", value1, value2, "chanceStatus");
            return (Criteria) this;
        }

        public Criteria andPlanIdIsNull() {
            addCriterion("plan_id is null");
            return (Criteria) this;
        }

        public Criteria andPlanIdIsNotNull() {
            addCriterion("plan_id is not null");
            return (Criteria) this;
        }

        public Criteria andPlanIdEqualTo(Integer value) {
            addCriterion("plan_id =", value, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdNotEqualTo(Integer value) {
            addCriterion("plan_id <>", value, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdGreaterThan(Integer value) {
            addCriterion("plan_id >", value, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("plan_id >=", value, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdLessThan(Integer value) {
            addCriterion("plan_id <", value, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdLessThanOrEqualTo(Integer value) {
            addCriterion("plan_id <=", value, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdIn(List<Integer> values) {
            addCriterion("plan_id in", values, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdNotIn(List<Integer> values) {
            addCriterion("plan_id not in", values, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdBetween(Integer value1, Integer value2) {
            addCriterion("plan_id between", value1, value2, "planId");
            return (Criteria) this;
        }

        public Criteria andPlanIdNotBetween(Integer value1, Integer value2) {
            addCriterion("plan_id not between", value1, value2, "planId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}